#include <REGX52.H>
/**
 * 按钮1按下，灯D2灭，灯D1亮
 * 按钮2按下，灯D1灭，灯D2亮
 */
// 定义引脚
sbit D1 = P2^0;  // LED D1
sbit D2 = P3^1;  // LED D2
sbit BTN1 = P2^5; // 按钮 1
sbit BTN2 = P3^7; // 按钮 2

// 延时函数（简单延时消抖）
void Delay_ms(unsigned int ms)
{
    unsigned int i, j;
    for(i = 0; i < ms; i++)
        for(j = 0; j < 123; j++); // 根据晶振频率调整此值
}
void main()
{
// 初始化 LED 状态（都亮）
    D1 = 0;
    D2 = 0;
    
    while(1)
    {
        // 检测按钮 1 按下
        if(BTN1 == 0)
        {
           
            if(BTN1 == 0) // 确认按键仍然按下
            {
                D1 = 0; // D1 亮
                D2 = 1; // D2 灭
                
            }
        }
        
        // 检测按钮 2 按下
        if(BTN2 == 0)
        {
           
            if(BTN2 == 0) // 确认按键仍然按下
            {
                D1 = 1; // D1 灭
                D2 = 0; // D2 亮
              
            }
        }
    }
}